home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / JSlider.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  10.3 KB  |  436 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.beans.PropertyChangeListener;
  5. import java.io.IOException;
  6. import java.io.ObjectOutputStream;
  7. import java.util.Dictionary;
  8. import java.util.Enumeration;
  9. import java.util.Hashtable;
  10. import javax.accessibility.Accessible;
  11. import javax.accessibility.AccessibleContext;
  12. import javax.accessibility.AccessibleState;
  13. import javax.swing.event.ChangeEvent;
  14. import javax.swing.event.ChangeListener;
  15. import javax.swing.plaf.SliderUI;
  16.  
  17. public class JSlider extends JComponent implements SwingConstants, Accessible {
  18.    private static final String uiClassID = "SliderUI";
  19.    private boolean paintTicks;
  20.    private boolean paintTrack;
  21.    private boolean paintLabels;
  22.    private boolean isInverted;
  23.    protected BoundedRangeModel sliderModel;
  24.    protected int majorTickSpacing;
  25.    protected int minorTickSpacing;
  26.    protected boolean snapToTicks;
  27.    boolean snapToValue;
  28.    protected int orientation;
  29.    private Dictionary labelTable;
  30.    protected ChangeListener changeListener;
  31.    protected transient ChangeEvent changeEvent;
  32.    // $FF: synthetic field
  33.    static Class class$javax$swing$event$ChangeListener;
  34.  
  35.    public JSlider() {
  36.       this(0, 0, 100, 50);
  37.    }
  38.  
  39.    public JSlider(int var1) {
  40.       this(var1, 0, 100, 50);
  41.    }
  42.  
  43.    public JSlider(int var1, int var2) {
  44.       this(0, var1, var2, 50);
  45.    }
  46.  
  47.    public JSlider(int var1, int var2, int var3) {
  48.       this(0, var1, var2, var3);
  49.    }
  50.  
  51.    public JSlider(int var1, int var2, int var3, int var4) {
  52.       this.paintTicks = false;
  53.       this.paintTrack = true;
  54.       this.paintLabels = false;
  55.       this.isInverted = false;
  56.       this.snapToTicks = false;
  57.       this.snapToValue = true;
  58.       this.changeListener = this.createChangeListener();
  59.       this.changeEvent = null;
  60.       this.checkOrientation(var1);
  61.       this.orientation = var1;
  62.       this.sliderModel = new DefaultBoundedRangeModel(var4, 0, var2, var3);
  63.       this.sliderModel.addChangeListener(this.changeListener);
  64.       this.updateUI();
  65.    }
  66.  
  67.    public JSlider(BoundedRangeModel var1) {
  68.       this.paintTicks = false;
  69.       this.paintTrack = true;
  70.       this.paintLabels = false;
  71.       this.isInverted = false;
  72.       this.snapToTicks = false;
  73.       this.snapToValue = true;
  74.       this.changeListener = this.createChangeListener();
  75.       this.changeEvent = null;
  76.       this.orientation = 0;
  77.       this.setModel(var1);
  78.       this.sliderModel.addChangeListener(this.changeListener);
  79.       this.updateUI();
  80.    }
  81.  
  82.    public void addChangeListener(ChangeListener var1) {
  83.       super.listenerList.add(class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")), var1);
  84.    }
  85.  
  86.    private void checkOrientation(int var1) {
  87.       switch (var1) {
  88.          case 0:
  89.          case 1:
  90.             return;
  91.          default:
  92.             throw new IllegalArgumentException("orientation must be one of: VERTICAL, HORIZONTAL");
  93.       }
  94.    }
  95.  
  96.    // $FF: synthetic method
  97.    static Class class$(String var0) {
  98.       try {
  99.          return Class.forName(var0);
  100.       } catch (ClassNotFoundException var2) {
  101.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  102.       }
  103.    }
  104.  
  105.    protected ChangeListener createChangeListener() {
  106.       return new ModelListener(this);
  107.    }
  108.  
  109.    public Hashtable createStandardLabels(int var1) {
  110.       return this.createStandardLabels(var1, this.getMinimum());
  111.    }
  112.  
  113.    public Hashtable createStandardLabels(int var1, int var2) {
  114.       if (var2 <= this.getMaximum() && var2 >= this.getMinimum()) {
  115.          if (var1 <= 0) {
  116.             throw new IllegalArgumentException("Label incremement must be > 0");
  117.          } else {
  118.             1.SmartHashtable var3 = new 1.SmartHashtable(this, var1, var2);
  119.             if (this.getLabelTable() != null && this.getLabelTable() instanceof PropertyChangeListener) {
  120.                ((JComponent)this).removePropertyChangeListener((PropertyChangeListener)this.getLabelTable());
  121.             }
  122.  
  123.             ((JComponent)this).addPropertyChangeListener(var3);
  124.             return var3;
  125.          }
  126.       } else {
  127.          throw new IllegalArgumentException("Slider label start point out of range.");
  128.       }
  129.    }
  130.  
  131.    protected void fireStateChanged() {
  132.       Object[] var1 = super.listenerList.getListenerList();
  133.  
  134.       for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
  135.          if (var1[var2] == (class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")))) {
  136.             if (this.changeEvent == null) {
  137.                this.changeEvent = new ChangeEvent(this);
  138.             }
  139.  
  140.             ((ChangeListener)var1[var2 + 1]).stateChanged(this.changeEvent);
  141.          }
  142.       }
  143.  
  144.    }
  145.  
  146.    public AccessibleContext getAccessibleContext() {
  147.       if (super.accessibleContext == null) {
  148.          super.accessibleContext = new AccessibleJSlider(this);
  149.       }
  150.  
  151.       return super.accessibleContext;
  152.    }
  153.  
  154.    public int getExtent() {
  155.       return this.getModel().getExtent();
  156.    }
  157.  
  158.    public boolean getInverted() {
  159.       return this.isInverted;
  160.    }
  161.  
  162.    public Dictionary getLabelTable() {
  163.       return this.labelTable;
  164.    }
  165.  
  166.    public int getMajorTickSpacing() {
  167.       return this.majorTickSpacing;
  168.    }
  169.  
  170.    public int getMaximum() {
  171.       return this.getModel().getMaximum();
  172.    }
  173.  
  174.    public int getMinimum() {
  175.       return this.getModel().getMinimum();
  176.    }
  177.  
  178.    public int getMinorTickSpacing() {
  179.       return this.minorTickSpacing;
  180.    }
  181.  
  182.    public BoundedRangeModel getModel() {
  183.       return this.sliderModel;
  184.    }
  185.  
  186.    public int getOrientation() {
  187.       return this.orientation;
  188.    }
  189.  
  190.    public boolean getPaintLabels() {
  191.       return this.paintLabels;
  192.    }
  193.  
  194.    public boolean getPaintTicks() {
  195.       return this.paintTicks;
  196.    }
  197.  
  198.    public boolean getPaintTrack() {
  199.       return this.paintTrack;
  200.    }
  201.  
  202.    public boolean getSnapToTicks() {
  203.       return this.snapToTicks;
  204.    }
  205.  
  206.    boolean getSnapToValue() {
  207.       return this.snapToValue;
  208.    }
  209.  
  210.    public SliderUI getUI() {
  211.       return (SliderUI)super.ui;
  212.    }
  213.  
  214.    public String getUIClassID() {
  215.       return "SliderUI";
  216.    }
  217.  
  218.    public int getValue() {
  219.       return this.getModel().getValue();
  220.    }
  221.  
  222.    public boolean getValueIsAdjusting() {
  223.       return this.getModel().getValueIsAdjusting();
  224.    }
  225.  
  226.    protected String paramString() {
  227.       String var1 = this.paintTicks ? "true" : "false";
  228.       String var2 = this.paintTrack ? "true" : "false";
  229.       String var3 = this.paintLabels ? "true" : "false";
  230.       String var4 = this.isInverted ? "true" : "false";
  231.       String var5 = this.snapToTicks ? "true" : "false";
  232.       String var6 = this.snapToValue ? "true" : "false";
  233.       String var7 = this.orientation == 0 ? "HORIZONTAL" : "VERTICAL";
  234.       return super.paramString() + ",isInverted=" + var4 + ",majorTickSpacing=" + this.majorTickSpacing + ",minorTickSpacing=" + this.minorTickSpacing + ",orientation=" + var7 + ",paintLabels=" + var3 + ",paintTicks=" + var1 + ",paintTrack=" + var2 + ",snapToTicks=" + var5 + ",snapToValue=" + var6;
  235.    }
  236.  
  237.    public void removeChangeListener(ChangeListener var1) {
  238.       super.listenerList.remove(class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")), var1);
  239.    }
  240.  
  241.    public void setExtent(int var1) {
  242.       this.getModel().setExtent(var1);
  243.    }
  244.  
  245.    public void setInverted(boolean var1) {
  246.       boolean var2 = this.isInverted;
  247.       this.isInverted = var1;
  248.       ((JComponent)this).firePropertyChange("inverted", var2, this.isInverted);
  249.       if (var1 != var2) {
  250.          ((Component)this).repaint();
  251.       }
  252.  
  253.    }
  254.  
  255.    public void setLabelTable(Dictionary var1) {
  256.       Dictionary var2 = this.labelTable;
  257.       this.labelTable = var1;
  258.       this.updateLabelUIs();
  259.       ((JComponent)this).firePropertyChange("labelTable", var2, this.labelTable);
  260.       if (var1 != var2) {
  261.          ((JComponent)this).revalidate();
  262.          ((Component)this).repaint();
  263.       }
  264.  
  265.    }
  266.  
  267.    public void setMajorTickSpacing(int var1) {
  268.       int var2 = this.majorTickSpacing;
  269.       this.majorTickSpacing = var1;
  270.       if (this.labelTable == null && this.getMajorTickSpacing() > 0 && this.getPaintLabels()) {
  271.          this.setLabelTable(this.createStandardLabels(this.getMajorTickSpacing()));
  272.       }
  273.  
  274.       ((JComponent)this).firePropertyChange("majorTickSpacing", var2, this.majorTickSpacing);
  275.       if (this.majorTickSpacing != var2 && this.getPaintTicks()) {
  276.          ((Component)this).repaint();
  277.       }
  278.  
  279.    }
  280.  
  281.    public void setMaximum(int var1) {
  282.       int var2 = this.getModel().getMaximum();
  283.       this.getModel().setMaximum(var1);
  284.       ((JComponent)this).firePropertyChange("maximum", new Integer(var2), new Integer(var1));
  285.    }
  286.  
  287.    public void setMinimum(int var1) {
  288.       int var2 = this.getModel().getMinimum();
  289.       this.getModel().setMinimum(var1);
  290.       ((JComponent)this).firePropertyChange("minimum", new Integer(var2), new Integer(var1));
  291.    }
  292.  
  293.    public void setMinorTickSpacing(int var1) {
  294.       int var2 = this.minorTickSpacing;
  295.       this.minorTickSpacing = var1;
  296.       ((JComponent)this).firePropertyChange("minorTickSpacing", var2, this.minorTickSpacing);
  297.       if (this.minorTickSpacing != var2 && this.getPaintTicks()) {
  298.          ((Component)this).repaint();
  299.       }
  300.  
  301.    }
  302.  
  303.    public void setModel(BoundedRangeModel var1) {
  304.       BoundedRangeModel var2 = this.getModel();
  305.       if (var2 != null) {
  306.          var2.removeChangeListener(this.changeListener);
  307.       }
  308.  
  309.       this.sliderModel = var1;
  310.       if (var1 != null) {
  311.          var1.addChangeListener(this.changeListener);
  312.          if (super.accessibleContext != null) {
  313.             super.accessibleContext.firePropertyChange("AccessibleValue", var2 == null ? null : new Integer(var2.getValue()), var1 == null ? null : new Integer(var1.getValue()));
  314.          }
  315.       }
  316.  
  317.       ((JComponent)this).firePropertyChange("model", var2, this.sliderModel);
  318.    }
  319.  
  320.    public void setOrientation(int var1) {
  321.       this.checkOrientation(var1);
  322.       int var2 = this.orientation;
  323.       this.orientation = var1;
  324.       ((JComponent)this).firePropertyChange("orientation", var2, var1);
  325.       if (var2 != var1 && super.accessibleContext != null) {
  326.          super.accessibleContext.firePropertyChange("AccessibleState", var2 == 1 ? AccessibleState.VERTICAL : AccessibleState.HORIZONTAL, var1 == 1 ? AccessibleState.VERTICAL : AccessibleState.HORIZONTAL);
  327.       }
  328.  
  329.       if (var1 != var2) {
  330.          ((JComponent)this).revalidate();
  331.       }
  332.  
  333.    }
  334.  
  335.    public void setPaintLabels(boolean var1) {
  336.       boolean var2 = this.paintLabels;
  337.       this.paintLabels = var1;
  338.       if (this.labelTable == null && this.getMajorTickSpacing() > 0) {
  339.          this.setLabelTable(this.createStandardLabels(this.getMajorTickSpacing()));
  340.       }
  341.  
  342.       ((JComponent)this).firePropertyChange("paintLabels", var2, this.paintLabels);
  343.       if (this.paintLabels != var2) {
  344.          ((JComponent)this).revalidate();
  345.          ((Component)this).repaint();
  346.       }
  347.  
  348.    }
  349.  
  350.    public void setPaintTicks(boolean var1) {
  351.       boolean var2 = this.paintTicks;
  352.       this.paintTicks = var1;
  353.       ((JComponent)this).firePropertyChange("paintTicks", var2, this.paintTicks);
  354.       if (this.paintTicks != var2) {
  355.          ((JComponent)this).revalidate();
  356.          ((Component)this).repaint();
  357.       }
  358.  
  359.    }
  360.  
  361.    public void setPaintTrack(boolean var1) {
  362.       boolean var2 = this.paintTrack;
  363.       this.paintTrack = var1;
  364.       ((JComponent)this).firePropertyChange("paintTrack", var2, this.paintTrack);
  365.       if (this.paintTrack != var2) {
  366.          ((Component)this).repaint();
  367.       }
  368.  
  369.    }
  370.  
  371.    public void setSnapToTicks(boolean var1) {
  372.       boolean var2 = this.snapToTicks;
  373.       this.snapToTicks = var1;
  374.       ((JComponent)this).firePropertyChange("snapToTicks", var2, this.snapToTicks);
  375.    }
  376.  
  377.    void setSnapToValue(boolean var1) {
  378.       boolean var2 = this.snapToValue;
  379.       this.snapToValue = var1;
  380.       ((JComponent)this).firePropertyChange("snapToValue", var2, this.snapToValue);
  381.    }
  382.  
  383.    public void setUI(SliderUI var1) {
  384.       super.setUI(var1);
  385.    }
  386.  
  387.    public void setValue(int var1) {
  388.       BoundedRangeModel var2 = this.getModel();
  389.       int var3 = var2.getValue();
  390.       var2.setValue(var1);
  391.       if (super.accessibleContext != null) {
  392.          super.accessibleContext.firePropertyChange("AccessibleValue", new Integer(var3), new Integer(var2.getValue()));
  393.       }
  394.  
  395.    }
  396.  
  397.    public void setValueIsAdjusting(boolean var1) {
  398.       BoundedRangeModel var2 = this.getModel();
  399.       boolean var3 = var2.getValueIsAdjusting();
  400.       var2.setValueIsAdjusting(var1);
  401.       if (var3 != var1 && super.accessibleContext != null) {
  402.          super.accessibleContext.firePropertyChange("AccessibleState", var3 ? AccessibleState.BUSY : null, var1 ? AccessibleState.BUSY : null);
  403.       }
  404.  
  405.    }
  406.  
  407.    protected void updateLabelUIs() {
  408.       if (this.getLabelTable() != null) {
  409.          Enumeration var1 = this.getLabelTable().keys();
  410.  
  411.          while(var1.hasMoreElements()) {
  412.             Object var2 = this.getLabelTable().get(var1.nextElement());
  413.             if (var2 instanceof JComponent) {
  414.                JComponent var3 = (JComponent)var2;
  415.                var3.updateUI();
  416.                ((Component)var3).setSize(var3.getPreferredSize());
  417.             }
  418.          }
  419.  
  420.       }
  421.    }
  422.  
  423.    public void updateUI() {
  424.       this.updateLabelUIs();
  425.       this.setUI((SliderUI)UIManager.getUI(this));
  426.    }
  427.  
  428.    private void writeObject(ObjectOutputStream var1) throws IOException {
  429.       var1.defaultWriteObject();
  430.       if (super.ui != null && this.getUIClassID().equals("SliderUI")) {
  431.          super.ui.installUI(this);
  432.       }
  433.  
  434.    }
  435. }
  436.